记录 半月工作总结

来到新公司快一个月了,整体感觉不错,气氛轻松,工作愉快,同事间大家都做好自己的事情,
没有遇到烦人的小事,觉得未来3年内在这里工作不错,可以安心钻研技术。

第一个星期主要是熟悉环境和搭建开发环境,第二周开始写了zengo板子的外设驱动固件,
第三周继续写驱动,这周写完了驱动,又用三天时间做了一款PIC主控芯片的咖啡及的固件升级。
现在在看USB的东西。

zengo板外设驱动的编写与调试,主要外设有:

  1. GPIO控制的蜂鸣器
  2. GPIO控制的红外接收头HS0038
  3. GPIO检测外部输入电平
  4. FSMC驱动LCD(Ray已完成)
  5. IIC通信控制EEPORM芯片AT24C512
  6. SPI通信控制的FLASH芯片W25X16
  7. SPI通信控制的8路开关芯片MC33879
  8. USB作为主机读取外接U盘数据
  9. 10路ADC采集
  10. 12路PWM输出
  11. 700Hz脉冲信号PULSE
  12. 以太网

目前除了USB和以太网的事情,其他的基本外设都搞好了,所以目前主要工作就是搞USB OTG 和FATFS文件系统。再就是TCP/IP。

PIC主控器的固件升级,主要是增加按键功能设置,增加了LOCK操作模式和UNLOCK操作模式,以及模式切换的功能。
整个过程主要费事的地方是,开发环境的搭建和源代码 的编译。。
开发环境使用MPLAB+HITECH PICC,可能是版本问题,
有几个变量是undefined symbol. OPTION,GODONE,RABPU这三个变量按理说都是编译器定义好的东西,但是就是无法编译通过,编译器手册上也找不到信息。
在国外的all about circuit论坛上找到解决办法:OPTION应该是OPTION_REG; GODONE应该是GO_DONE; 要编译通过RABPU必须加上定义#define _LEGACY_HEADERS;
这几个错误因该是编译器的版本问题。
源代码一开始给错了,给成了复杂型号机器的代码了,后来给了正确的代码,分析后和Leader讨论功能需求并实现。
觉得别人的代码写的很厉害,主要是思路已经上升到操作系统那种级别,虽然PIC16F这种低端单片机不能跑操作系统的,
但是代码中的时间利用的思想,任务处理的思想,真的很好,获益良多。
让我更加想搞好操作系统了,有了操作系统,规划稍微复杂一点的程序,就容易多了。